Depthwise Separable Convolution

Depthwise Separable Convolution

1. 서론: 컨볼루션 신경망의 효율성 문제와 Depthwise Separable Convolution의 대두

심층 컨볼루션 신경망(Deep Convolutional Neural Networks, CNNs)은 이미지 인식, 객체 탐지 등 컴퓨터 비전 분야에서 전례 없는 성공을 거두었다. VGGNet, ResNet과 같은 선구적인 아키텍처들은 모델의 깊이와 너비를 확장함으로써 정확도를 획기적으로 개선하였으나, 이는 막대한 계산 복잡성이라는 대가를 치렀다.1 수천만 개에서 수억 개에 달하는 파라미터와 기하급수적으로 증가하는 연산량(FLOPs)은 고성능 GPU 클러스터가 없는 환경, 특히 모바일이나 임베디드 시스템과 같은 자원이 극도로 제한된 플랫폼에서는 이들 모델의 실제적인 배포를 거의 불가능하게 만들었다.2

이러한 배경 속에서 딥러닝 커뮤니티의 관심은 단순히 ‘더 깊고 넓은’ 모델을 통한 성능 향상을 넘어, ‘어떻게 더 효율적으로’ 유사한 혹은 더 나은 성능을 달성할 것인가로 전환되기 시작했다. 문제의 핵심에는 표준 컨볼루션(standard convolution) 연산의 본질적인 비효율성이 자리 잡고 있었다. 표준 컨볼루션은 입력 피처 맵의 공간적(spatial) 특징과 채널 간(cross-channel) 특징을 하나의 필터를 통해 동시에 학습한다.4 이 결합된(entangled) 학습 방식은 모델의 표현력을 높이는 데 기여했지만, 동시에 파라미터 수와 계산량을 폭발적으로 증가시키는 주된 원인이었다.

이러한 근본적인 비효율성을 해결하기 위한 모델 경량화 연구의 일환으로, Depthwise Separable Convolution (DSC) 이라는 혁신적인 개념이 등장했다. DSC는 표준 컨볼루션 연산을 두 개의 독립적인 단계, 즉 각 채널의 공간적 특징을 추출하는 ’Depthwise Convolution’과 채널 간 정보를 결합하는 ’Pointwise Convolution’으로 ’인수분해(factorize)’하는 접근법이다.6 이 단순하면서도 강력한 아이디어는 파라미터 수와 계산 비용을 획기적으로 줄이면서도, 모델의 표현 효율성(representational efficiency)은 유지하거나 오히려 높이는 놀라운 결과를 보여주었다. 이 기술은 MobileNet과 Xception과 같은 경량 아키텍처의 핵심 구성 요소로 채택되면서, 딥러닝 모델을 모바일 기기와 같은 일상적인 환경으로 확산시키는 데 결정적인 역할을 수행했다.8 본 안내서는 Depthwise Separable Convolution의 기본 원리부터 시작하여, 그 수학적 효율성을 정량적으로 분석하고, 주요 딥러닝 아키텍처에서의 적용 및 발전 과정을 추적하며, 나아가 기술적 한계와 그에 대한 비판적 고찰까지 포괄적으로 다루고자 한다.

2. 표준 컨볼루션 연산의 재고찰

2.1 연산 메커니즘: 공간적 특징과 채널 간 특징의 동시 학습

표준 컨볼루션 연산의 작동 방식을 이해하는 것은 Depthwise Separable Convolution의 혁신성을 파악하기 위한 전제 조건이다. 표준 컨볼루션은 입력 텐서와 필터(커널) 간의 상호작용을 통해 특징을 추출한다.

입력 텐서의 형태가 높이 H_{in}, 너비 W_{in}, 입력 채널 수 C_{in} (또는 M)으로 주어지고, 필터의 크기가 F \times F (또는 D_K \times D_K)라고 가정하자. 표준 컨볼루션에서 하나의 필터는 입력 텐서의 모든 채널을 동시에 고려해야 하므로, 그 형태는 F \times F \times C_{in}이 된다. 이 필터가 입력 텐서 위를 슬라이딩하면서 각 위치에서 곱셈-누산(Multiply-Accumulate, MAC) 연산을 수행하여 출력 피처 맵의 한 점을 계산한다. 이 과정을 통해 생성된 결과는 단일 채널을 가진 피처 맵이다. 따라서 N개의 출력 채널을 얻기 위해서는 서로 다른 가중치를 가진 N개의 F \times F \times C_{in} 필터가 필요하다.11

이 연산 과정의 핵심은 각 필터가 이미지 내의 공간적 패턴(예: 수직선, 모서리, 특정 질감)과 채널 간의 상관관계(예: R, G, B 채널의 특정 조합이 나타내는 색상)를 분리하지 않고, 하나의 얽힌(entangled) 형태로 동시에 학습한다는 점이다.4 예를 들어, 특정 필터는 ’붉은색의 수직선’이라는 복합적인 특징을 감지하도록 학습될 수 있다. 이러한 결합된 학습 방식은 모델이 복잡한 특징을 효과적으로 학습하게 하지만, 동시에 표준 컨볼루션의 근본적인 비효율성을 야기하는 원인이 된다.

2.2 계산 비용 분석: 파라미터 수와 FLOPs

표준 컨볼루션의 비효율성은 파라미터 수와 연산량(FLOPs)을 통해 정량적으로 분석할 수 있다.

파라미터 수 (Number of Parameters)

하나의 필터는 F \times F \times C_{in}개의 학습 가능한 가중치(파라미터)를 가진다. N개의 출력 채널을 생성하기 위해 N개의 독립적인 필터가 필요하므로, 해당 컨볼루션 레이어의 총 파라미터 수는 다음과 같이 계산된다.7
P_{std} = D_K \times D_K \times M \times N
여기서 D_K는 커널의 높이와 너비, M은 입력 채널 수, N은 출력 채널 수(필터의 개수)를 의미한다.

연산량 (FLOPs - Floating Point Operations)

연산량은 모델의 추론 속도를 가늠하는 중요한 지표이다. 하나의 필터가 출력 피처 맵의 한 위치에서 연산을 수행할 때, D_K \times D_K \times M번의 곱셈-누산 연산이 필요하다. 이 필터는 전체 출력 피처 맵(D_G \times D_G)의 모든 위치를 순회해야 하며, 이러한 과정이 N개의 모든 필터에 대해 반복된다. 따라서, 스트라이드(stride)가 1이고 패딩(padding)을 통해 입출력의 공간적 크기가 유지된다고 가정할 때, 총 연산량은 대략 다음과 같이 표현할 수 있다.9

F_{std} \approx D_K \times D_K \times M \times N \times D_G \times D_G
여기서 D_G는 출력 피처 맵의 높이와 너비를 나타낸다.

이 수식들을 분석해 보면, 표준 컨볼루션의 계산 비용이 입력 채널 수 M과 출력 채널 수 N에 대해 곱셈적으로 비례하여 증가함을 알 수 있다. 네트워크가 깊어지고 넓어질수록, 레이어의 입력과 출력 채널 수는 수백에서 수천 단위로 급격히 증가한다. 이로 인해 M \times N 항이 전체 계산 비용을 지배하게 되며, 이는 모델의 계산 복잡도를 폭발적으로 증가시키는 주된 요인이다. 이러한 ’4차 복잡성(quartic complexity)’은 심층 CNN 모델의 경량화가 왜 필수적인지를 수학적으로 명확히 보여준다. Depthwise Separable Convolution은 바로 이 M \times N의 곱셈 관계를 분해하여 계산 복잡도의 차수를 근본적으로 낮추는 알고리즘적 혁신을 제안한다.

3. Depthwise Separable Convolution의 해부

Depthwise Separable Convolution(DSC)은 표준 컨볼루션이 수행하는 두 가지 역할, 즉 공간적 특징 추출과 채널 간 특징 결합을 명시적으로 분리하여 효율성을 극대화하는 기법이다. 이는 “공간적 상관관계와 채널 간 상관관계는 완전히 분리될 수 있다“는 강력한 가설에 기반하며, 표준 컨볼루션 연산을 두 개의 연속적인 단계로 인수분해(factorization)함으로써 구현된다.1

3.1 핵심 아이디어: 연산의 인수분해(Factorization)

DSC의 핵심 철학은 단일 연산으로 얽혀 있던 두 가지 종류의 특징 학습을 분리하는 것이다. 표준 컨볼루션이 3차원 필터(D_K \times D_K \times M)를 사용하여 공간적 차원과 채널 차원을 한 번에 처리하는 반면, DSC는 이를 다음과 같은 두 단계로 나눈다.

  1. Depthwise Convolution: 2차원 공간 필터링을 통해 각 채널 내의 공간적 특징을 독립적으로 추출한다.

  2. Pointwise Convolution: 1x1 컨볼루션을 통해 채널 간의 선형 결합을 수행하여 특징을 통합하고 채널 차원을 조절한다.

이러한 분리는 마치 행렬 인수분해와 같이, 하나의 복잡한 연산을 두 개의 더 단순하고 계산적으로 저렴한 연산의 조합으로 표현하는 것과 같다.

3.2 제1단계: Depthwise Convolution - 채널별 공간 특징 추출

Depthwise Convolution은 DSC의 첫 번째 단계로, 공간적 필터링(spatial filtering)을 담당한다. 이 단계의 목표는 채널 간의 상호작용 없이, 오직 각 입력 채널 고유의 공간적 패턴을 학습하는 것이다.

작동 원리:

입력 텐서의 M개 채널 각각에 대해, 독립적인 D_K \times D_K \times 1 크기의 2차원 필터가 적용된다. 즉, 입력 채널이 3개(R, G, B)라면, R 채널을 위한 필터, G 채널을 위한 필터, B 채널을 위한 필터가 각각 따로 존재하며, 각 필터는 자신의 채널에만 컨볼루션 연산을 수행한다.2 이 과정에서 한 채널의 정보가 다른 채널의 연산에 전혀 영향을 미치지 않는다.

결과:

이 단계의 출력 텐서는 입력 텐서와 동일한 수의 채널(M)을 가진다. 각 출력 채널은 오직 하나의 입력 채널로부터 공간적 정보만을 추출한 결과물이다.1 예를 들어, 입력의 첫 번째 채널에서 엣지(edge) 특징을 추출했다면, 출력의 첫 번째 채널은 이 엣지 정보만을 담게 된다.

Grouped Convolution과의 관계:

Depthwise Convolution은 Grouped Convolution의 매우 특별한 형태로 이해할 수 있다. Grouped Convolution은 입력 채널을 여러 그룹으로 나누어 각 그룹 내에서만 독립적으로 컨볼루션을 수행하는 기법이다. Depthwise Convolution은 여기서 그룹의 수(groups)가 입력 채널 수(M)와 정확히 일치하는 경우(groups = M)에 해당한다.14 PyTorch나 TensorFlow와 같은 딥러닝 프레임워크에서는 이

groups 파라미터를 설정함으로써 Depthwise Convolution을 효율적으로 구현한다.19

3.3 제2단계: Pointwise Convolution - 채널 간 특징 결합

Pointwise Convolution은 DSC의 두 번째 단계로, Depthwise Convolution을 통해 생성된 채널별 특징들을 의미 있는 방식으로 결합하는 역할을 한다. 이 단계는 흔히 1x1 컨볼루션으로도 불린다.

작동 원리:

Depthwise Convolution의 출력(D_G \times D_G \times M)을 입력으로 받아, 1 \times 1 \times M 크기의 필터를 사용한 표준 컨볼루션을 수행한다.2 이 필터는 공간적 크기가 1 \times 1이므로, 공간적 특징을 학습하지 않고 오직 채널 축에 대해서만 연산을 수행한다. 구체적으로, 출력 피처 맵의 한 위치((x, y))에 있는 값은, 입력 피처 맵의 동일한 위치((x, y))에 있는 M개 채널 값들의 가중 합(weighted sum)으로 계산된다.

역할:

Pointwise Convolution은 두 가지 핵심적인 역할을 수행한다.

  1. 정보 통합: Depthwise 단계에서 분리되었던 M개의 채널 정보를 선형 결합(linear combination)하여 새로운 특징을 생성한다. 이는 각 채널별로 독립적으로 추출된 공간적 패턴들을 의미론적으로 연결하고 통합하는 과정이다.14

  2. 채널 수 조절: N개의 1 \times 1 \times M 필터를 사용함으로써, 출력 채널의 수를 원하는 N으로 자유롭게 조절할 수 있다. 이는 채널 수를 줄여(reduction) 계산량을 감소시키거나, 채널 수를 늘려(expansion) 표현력을 높이는 데 사용될 수 있다.14

결론적으로, Depthwise Separable Convolution은 표준 컨볼루션의 ’공간 및 채널 동시 학습’이라는 복잡한 임무를 ’채널별 공간 학습(Depthwise)’과 ’공간 불변 채널 학습(Pointwise)’이라는 두 개의 더 단순하고 전문화된 임무로 성공적으로 분리해냈다.

3.4 [표 1] 표준 컨볼루션과 Depthwise Separable Convolution 비교

아래 표는 표준 컨볼루션과 Depthwise Separable Convolution의 핵심적인 차이점을 요약하여 보여준다.

특징 (Feature)표준 컨볼루션 (Standard Convolution)Depthwise Separable Convolution
핵심 아이디어공간적 & 채널 간 특징 동시 학습공간적 & 채널 간 특징 분리 학습
연산 단계단일 단계 (Single Stage)2단계: Depthwise Conv → Pointwise Conv
공간적 특징 학습D_K \times D_K \times M 필터가 모든 채널을 고려하여 학습D_K \times D_K \times 1 필터가 각 채널별로 독립적으로 학습
채널 간 특징 학습공간적 특징 학습과 동시에 수행1 \times 1 \times M 필터(Pointwise)가 독립적으로 수행
파라미터 수D_K^2 \cdot M \cdot ND_K^2 \cdot M + M \cdot N
연산량 (FLOPs)\approx D_K^2 \cdot M \cdot N \cdot D_G^2\approx (D_K^2 \cdot M + M \cdot N) \cdot D_G^2

4. 효율성 정량 분석

Depthwise Separable Convolution의 가장 큰 장점은 계산 효율성이다. 이 장에서는 파라미터 수와 연산량(FLOPs)을 수학적으로 비교 분석하여 DSC가 표준 컨볼루션에 비해 얼마나 효율적인지를 정량적으로 증명한다.

4.1 파라미터 수 비교 분석

표준 컨볼루션 (Standard Convolution):

앞서 언급했듯이, 표준 컨볼루션의 파라미터 수는 커널 크기(D_K \times D_K), 입력 채널 수(M), 출력 채널 수(N)의 곱으로 결정된다.11

P_{std} = D_K^2 \cdot M \cdot N
Depthwise Separable Convolution (DSC):

DSC의 파라미터 수는 Depthwise 단계와 Pointwise 단계의 파라미터 수를 합산하여 계산된다.

  • Depthwise 단계: 각 입력 채널 M에 대해 D_K \times D_K \times 1 크기의 필터가 하나씩 필요하므로, 총 M개의 필터가 사용된다. 따라서 이 단계의 파라미터 수는 다음과 같다.15

P_{dw} = D_K^2 \times 1 \times M = D_K^2 \cdot M
Pointwise 단계: Depthwise 단계의 출력(M개 채널)을 입력으로 받아 N개의 출력 채널을 생성하기 위해, 1 \times 1 \times M 크기의 필터가 N개 필요하다. 따라서 이 단계의 파라미터 수는 다음과 같다.15
P_{pw} = 1^2 \times M \times N = M \cdot N
총합: DSC의 총 파라미터 수는 두 단계의 합이다.15
P_{dsc} = P_{dw} + P_{pw} = D_K^2 \cdot M + M \cdot N = M(D_K^2 + N)

4.2 연산량(FLOPs) 비교 분석

표준 컨볼루션 (Standard Convolution):

표준 컨볼루션의 연산량은 파라미터 수에 출력 피처 맵의 크기(D_G \times D_G)를 곱한 값에 비례한다.11

F_{std} \approx D_K^2 \cdot M \cdot N \cdot D_G^2
Depthwise Separable Convolution (DSC):

DSC의 총 연산량 또한 각 단계의 연산량을 합산하여 구한다.

  • Depthwise 단계: M개의 D_K \times D_K \times 1 필터가 각각 D_G \times D_G 크기의 피처 맵 위를 슬라이딩하므로, 연산량은 다음과 같다.11

F_{dw} \approx D_K^2 \cdot M \cdot D_G^2

  • Pointwise 단계: N개의 1 \times 1 \times M 필터가 D_G \times D_G 크기의 피처 맵 위를 슬라이딩하므로, 연산량은 다음과 같다.11

F_{pw} \approx M \cdot N \cdot D_G^2

  • 총합: DSC의 총 연산량은 두 단계의 합이다.8

F_{dsc} = F_{dw} + F_{pw} \approx (D_K^2 \cdot M + M \cdot N) \cdot D_G^2

4.3 연산량 감소율의 수학적 유도 및 해석

DSC의 효율성을 명확히 파악하기 위해 표준 컨볼루션 대비 DSC의 연산량 비율을 계산할 수 있다.

\text{Ratio} = \frac{F_{dsc}}{F_{std}} = \frac{(D_K^2 \cdot M + M \cdot N) \cdot D_G^2}{D_K^2 \cdot M \cdot N \cdot D_G^2}
분자와 분모에서 공통 항인 M \cdot D_G^2를 소거하면 다음과 같이 정리된다.

\text{Ratio} = \frac{D_K^2 + N}{D_K^2 \cdot N} = \frac{D_K^2}{D_K^2 \cdot N} + \frac{N}{D_K^2 \cdot N}
최종적으로 연산량 감소율 공식은 다음과 같이 유도된다.9

\text{Ratio} = \frac{1}{N} + \frac{1}{D_K^2}
해석:

이 공식은 DSC의 효율성 향상이 출력 채널 수(N)와 커널 크기(D_K)라는 두 가지 요소에 의해 결정됨을 명확히 보여준다.

  • 1/N 항은 전체 연산에서 Pointwise Convolution이 차지하는 상대적 비용을, 1/D_K^2 항은 Depthwise Convolution이 차지하는 상대적 비용을 나타낸다.

  • 현대 CNN 아키텍처에서 출력 채널 수 N은 보통 64, 128, 256, 1024 등 매우 큰 값을 가진다. 따라서 1/N 항은 0에 매우 가까워지며, 전체 비율에 미미한 영향을 미친다.11

  • 반면, 커널 크기 D_K는 일반적으로 3 또는 5와 같은 작은 값으로 고정된다. 따라서 1/D_K^2 항이 전체 비율을 결정하는 지배적인 요인이 된다.

예를 들어, 가장 흔하게 사용되는 3x3 커널(D_K=3)을 사용하는 경우, 연산량 비율은 1/N + 1/9가 된다. N이 충분히 크다면, 이 비율은 약 1/9에 수렴한다. 이는 DSC가 표준 컨볼루션에 비해 약 8~9배의 연산 효율 향상을 가져옴을 의미한다.11

이러한 수학적 분석은 DSC의 핵심적인 계산 이득이 ’모든 채널을 동시에 고려하는 비싼 공간 필터링’을 ’채널별로 분리된 저렴한 공간 필터링’으로 대체한 Depthwise 단계에서 비롯됨을 증명한다. 더 나아가, 이는 커널 크기 D_K가 커질수록(예: 5x5, 7x7) DSC의 상대적 효율성이 더욱 극대화됨을 시사한다. 예를 들어 7x7 커널의 경우, 표준 컨볼루션은 계산량이 폭발적으로 증가하지만 DSC를 사용하면 연산량을 약 1/49 수준으로 감소시켜, 모델이 더 넓은 수용장(receptive field)을 효율적으로 확보할 수 있는 새로운 가능성을 열어준다.

5. 주요 경량 아키텍처에서의 활용과 발전

Depthwise Separable Convolution은 이론적 효율성을 넘어, 실제 딥러닝 아키텍처에 적용되어 그 가치를 증명했다. 특히 MobileNet, Xception, EfficientNet과 같은 기념비적인 모델들은 DSC를 핵심 구성 요소로 채택하고, 이를 독창적으로 변형 및 발전시키며 모델 경량화와 효율성의 새로운 지평을 열었다.

5.1 MobileNet: 모바일 비전을 위한 초석

MobileNetV1은 DSC를 네트워크의 거의 모든 컨볼루션 레이어에 적용하여, 모바일 및 임베디드 환경을 위한 극단적인 경량화를 시도한 최초의 성공적인 모델 중 하나다.3 이 모델의 설계 철학은 정확도를 소폭 희생하더라도 모델의 크기와 연산량을 최소화하는 데 초점을 맞추었다.2 MobileNetV1은 DSC가 실제 대규모 데이터셋(ImageNet)에서도 효과적으로 작동하며, 실용적인 경량 모델 구축의 핵심 기술이 될 수 있음을 입증했다.

MobileNetV2의 Inverted Residual Block:

MobileNetV1의 성공에도 불구하고, 네트워크의 얇은(thin) 레이어, 즉 채널 수가 적은 레이어에서 특징을 추출할 때 정보 손실이 발생할 수 있다는 한계가 지적되었다. 특히 비선형 활성화 함수인 ReLU는 음수 값을 모두 0으로 만들어 정보를 소실시키는데, 표현 공간 자체가 작은 저차원(low-dimensional) 채널 공간에서는 이러한 정보 손실이 모델의 표현력을 심각하게 저해할 수 있다.25

MobileNetV2는 이 문제를 해결하기 위해 Inverted Residual Block이라는 독창적인 구조를 제안했다. 이 구조는 전통적인 ResNet의 residual block(wide → narrow → wide)과는 정반대되는 “Inverted” 구조(narrow → wide → narrow)를 채택했다.26

  1. Expansion Layer (확장): 먼저 1 \times 1 Pointwise Convolution을 사용하여 입력의 적은 채널 수를 특정 확장 비율(expansion ratio, 보통 6)만큼 크게 늘린다. 이는 저차원의 입력 특징을 풍부한 정보를 담을 수 있는 고차원 공간으로 매핑하는 역할을 한다.

  2. Depthwise Convolution (필터링): 이 확장된 고차원 공간에서 3 \times 3 Depthwise Convolution을 수행한다. 고차원 공간에서 필터링을 수행함으로써 더 풍부하고 표현력 있는 공간적 특징을 효율적으로 추출할 수 있다.

  3. Projection Layer (압축) & Linear Bottleneck: 다시 1 \times 1 Pointwise Convolution을 사용하여 채널 수를 원래의 입력과 비슷한 수준으로 줄인다. 여기서 핵심적인 혁신은, 마지막 projection layer에서 ReLU 활성화 함수를 제거하는 Linear Bottleneck을 적용한 것이다. 이는 고차원의 특징을 다시 저차원으로 압축할 때, 비선형 함수(ReLU)로 인해 발생할 수 있는 정보 손실을 최소화하여 모델의 표현력을 보존하는 결정적인 역할을 한다.25

이 Inverted Residual 구조는 저차원 표현(bottleneck) 간의 shortcut 연결을 통해 ResNet의 장점인 원활한 그래디언트 흐름을 유지하면서도, 중간 연산은 고차원에서 풍부하게 수행하여 DSC의 효율성과 모델의 표현력을 모두 극대화하는 데 성공했다.

5.2 Xception: Inception 가설의 극단적 해석

Xception(Extreme Inception) 아키텍처는 DSC를 다른 관점에서 해석하고 활용했다. Inception 모듈의 기본 가설이 “채널 간 상관관계와 공간적 상관관계는 충분히 분리될 수 있어, 이를 따로 매핑하는 것이 효율적이다“라는 것이라면, Xception은 이 가설을 극단까지 밀어붙여 “두 상관관계는 완전히 분리될 수 있다“고 가정했다.18 이러한 관점에서 DSC는 무한히 많은 타워(tower)를 가진 Inception 모듈, 즉 ‘극단적인’ Inception 모듈로 해석될 수 있다.

수정된 DSC 구조:

Xception은 표준 DSC와는 연산 순서를 다르게 적용했다.

  1. 먼저 1 \times 1 Pointwise Convolution을 수행하여 채널 간 상관관계를 매핑한다.

  2. 그 후, 각 출력 채널에 대해 독립적으로 3 \times 3 Depthwise Convolution을 수행하여 공간적 상관관계를 매핑한다.5

또한, Xception의 저자는 실험을 통해 Depthwise와 Pointwise 연산 사이에 비선형 활성화 함수(ReLU)를 제거했을 때 수렴 속도와 최종 성능이 모두 향상됨을 발견했다.18

기여:

Xception은 네트워크 전체를 (residual connection이 포함된) DSC 블록으로만 구성함으로써, 파라미터 효율성을 극대화했다. 놀랍게도, Xception은 InceptionV3와 거의 동일한 파라미터 수를 가지면서도 ImageNet 데이터셋에서 더 나은 성능을 보였고, 훨씬 더 큰 JFT 데이터셋에서는 압도적인 성능 격차를 보여주었다.18 이는 DSC가 단순히 모바일 환경을 위한 경량화 기술이 아니라, 대규모 데이터셋에서도 효율적인 파라미터 사용을 통해 최고 수준의 성능을 달성할 수 있는 강력한 모델링 도구임을 증명한 중요한 사례이다.5

5.3 EfficientNet: 스케일링의 미학

EfficientNet은 모델의 성능을 높이기 위한 ‘스케일링(scaling)’ 방법에 대한 근본적인 질문을 던졌다. 기존에는 네트워크의 깊이(depth), 너비(width), 또는 입력 이미지의 해상도(resolution) 중 한 가지 차원만을 독립적으로 확장하는 방식이 주로 사용되었다. EfficientNet의 저자들은 이러한 단일 차원 스케일링이 비효율적이며, 최적의 성능을 위해서는 세 가지 차원을 균형 있게 동시에 조절해야 함을 실험적으로 증명했다.

MBConv 블록:

EfficientNet은 MobileNetV2의 Inverted Residual Block(MBConv)을 기본 빌딩 블록으로 채택했다. 여기에 추가적으로 Squeeze-and-Excitation (SE) 블록을 결합하여, 채널별로 특징의 중요도를 동적으로 학습하고 중요한 특징을 강조하도록 개선했다.29

Compound Scaling 전략:

EfficientNet의 핵심 혁신은 Compound Scaling 전략이다. 이는 \phi라는 단일 복합 계수(compound coefficient)를 사용하여 네트워크의 깊이, 너비, 해상도를 다음과 같은 고정된 비율로 동시에 스케일링하는 방법이다.29

  • 깊이: d = \alpha^\phi

  • 너비: w = \beta^\phi

  • 해상도: r = \gamma^\phi

여기서 \alpha, \beta, \gamma는 작은 그리드 서치를 통해 결정된 상수이다. 이 전략의 직관적인 근거는, 입력 이미지가 커지면(해상도 증가), 더 넓은 영역의 정보를 처리하기 위해 네트워크가 더 깊어져야(수용장 증가) 하고, 더 세밀한 패턴을 포착하기 위해 더 넓어져야(채널 증가) 한다는 것이다.

DSC와의 시너지:

EfficientNet은 먼저 신경망 아키텍처 탐색(Neural Architecture Search, NAS)을 통해 최적의 baseline 모델(EfficientNet-B0)을 설계했다. 이 baseline 모델은 효율성이 검증된 MBConv 블록으로 구성되어 있다. 그 후, Compound Scaling 전략을 적용하여 B0부터 B7까지 점진적으로 모델을 확장했다. 이 접근법은 이전의 SOTA(State-of-the-art) 모델들보다 훨씬 적은 파라미터와 FLOPs로 더 높은 정확도를 달성하는 놀라운 결과를 보여주었다.29 이는 DSC 기반의 효율적인 빌딩 블록이 체계적인 스케일링 전략과 결합될 때, 그 효과가 대규모 모델로 확장되면서 극대화될 수 있음을 명확히 보여준 사례이다.

5.4 [표 2] 주요 아키텍처별 Depthwise Separable Convolution 활용 방식 요약

아래 표는 앞서 논의된 주요 아키텍처들이 DSC를 어떻게 독창적으로 변형하고 활용하여 혁신을 이루었는지를 요약한다.

아키텍처핵심 블록DSC 활용 방식주요 혁신
MobileNetV2Inverted Residual Block1 \times 1 확장 → 3 \times 3 DW → 1 \times 1 선형 축소정보 손실을 최소화하는 Linear Bottleneck과 Inverted Residual 구조
XceptionModified Separable Conv Block1 \times 1 PW → 3 \times 3 DW (비선형성 제거)Inception 가설의 극단적 형태로, 채널-공간 상관관계의 완전한 분리
EfficientNetMBConv (with SE)MobileNetV2의 블록 + SE 모듈효율적인 블록을 기반으로 깊이, 너비, 해상도를 균형 있게 확장하는 Compound Scaling

6. 비판적 고찰 - 장점, 단점, 그리고 극복 노력

Depthwise Separable Convolution은 딥러닝 모델의 효율성을 비약적으로 향상시킨 혁신적인 기술이지만, 모든 상황에서 완벽한 해결책은 아니다. DSC의 명백한 이점과 함께 내재적 한계, 그리고 이를 극복하기 위한 최신 연구 동향을 비판적으로 고찰하는 것은 기술에 대한 균형 잡힌 이해를 위해 필수적이다.

6.1 명백한 이점: 속도, 크기, 그리고 일반화 성능

DSC가 가져온 가장 명백하고 직접적인 이점은 계산 효율성과 관련된 것이다.

  • 계산 효율성 및 속도: 제3장에서 수학적으로 증명했듯이, DSC는 표준 컨볼루션에 비해 파라미터 수와 FLOPs를 획기적으로 줄인다.6 이는 모델의 학습과 추론 속도를 크게 향상시켜, 더 빠른 실험 반복과 실시간 애플리케이션 구현을 가능하게 한다.

  • 모델 크기 감소: 파라미터 수가 적다는 것은 곧 모델을 저장하는 데 필요한 메모리 공간이 줄어듦을 의미한다. 이는 저장 공간과 메모리가 제한된 모바일 및 임베디드 기기에 딥러닝 모델을 배포하는 데 있어 결정적인 장점으로 작용한다.3

  • 과적합 방지 및 일반화: 파라미터 수가 적은 모델은 일반적으로 복잡도가 낮아, 학습 데이터에 과도하게 적합(overfitting)될 위험이 줄어든다. 이는 모델이 보지 못한 새로운 데이터에 대해 더 나은 성능을 보이는, 즉 일반화(generalization) 성능이 향상되는 효과로 이어질 수 있다.9

6.2 내재적 한계: 표현력 저하와 정보 병목 현상

효율성을 얻는 대가로 DSC는 몇 가지 잠재적인 단점을 감수해야 한다.

  • 채널 정보의 분리 및 표현력 저하: DSC의 핵심 아이디어인 공간 필터링과 채널 결합의 분리는, 이론적으로 표준 컨볼루션이 학습할 수 있는 모든 가능한 특징의 공간(full space of features)을 완전히 표현하지 못할 수 있다. 표준 컨볼루션 필터는 공간과 채널 정보를 복합적으로 고려하여 매우 복잡한 특징을 학습할 수 있지만, DSC는 이 과정을 두 개의 단순한 단계로 나누었기 때문에 모델의 표현력(representational capacity)이 제한될 수 있다는 비판이 존재한다.22

  • 정보 손실 및 병목 현상: Pointwise Convolution은 채널 수를 조절하는 역할을 하며, 특히 채널 수를 줄이는(reduction) 경우 정보의 병목(bottleneck) 현상이 발생할 수 있다. 이 과정에서 중요한 정보가 손실될 수 있으며, 이는 모델의 최종 성능에 부정적인 영향을 미칠 수 있다.14 MobileNetV2의 Inverted Residual Block과 Linear Bottleneck은 바로 이러한 정보 손실 문제를 완화하기 위한 정교한 설계적 시도였다.

  • 정확도 저하 가능성: 대부분의 경우 DSC는 정확도 저하를 최소화하면서 큰 효율성 이득을 제공하지만 1, 극도로 높은 정확도를 요구하는 특정 태스크나 데이터셋에서는 표준 컨볼루션을 사용한 모델에 비해 미세한 성능 저하를 보일 수 있다. 이는 효율성과 정확도 사이의 트레이드오프(trade-off) 관계를 보여주는 사례이다.34

6.3 하드웨어 관점에서의 도전 과제: 낮은 연산 강도(Arithmetic Intensity)

이론적인 FLOPs 감소가 항상 실제 추론 속도 향상으로 직결되지는 않는다. 이는 DSC가 현대 하드웨어 가속기(GPU, TPU 등)의 특성과 완벽하게 부합하지 않기 때문이다.

  • 메모리 대역폭 병목: 현대 하드웨어 가속기는 대량의 데이터를 내부 캐시나 레지스터로 가져와 여러 번 재사용하며(high data reuse) 집중적으로 계산할 때 최고의 성능을 발휘한다. 이러한 연산의 효율성을 나타내는 지표가 **연산 강도(Arithmetic Intensity)**이며, 이는 FLOPs / memory_access_bytes로 정의된다. 표준 컨볼루션이나 행렬 곱셈은 연산 강도가 높은 대표적인 연산이다.

  • DSC의 낮은 연산 강도: 반면, DSC, 특히 Depthwise Convolution 단계는 각 데이터 포인트를 소수의 연산에만 사용하고 다음으로 넘어가기 때문에 데이터 재사용률이 매우 낮다. 이는 연산량(FLOPs)에 비해 메모리 접근량이 상대적으로 많음을 의미하며, 즉 연산 강도가 낮다는 것을 뜻한다.35

  • 실질적 속도 저하: 결과적으로, DSC 연산은 계산 유닛의 성능에 의해 제한되기보다는(compute-bound), 데이터를 메모리에서 가져오는 속도에 의해 제한되는(memory-bound) 경향이 있다. 이로 인해 GPU와 같은 병렬 처리 장치에서 계산 유닛을 완전히 활용하지 못하고 유휴 상태로 대기하는 시간이 발생하여, 이론적인 FLOPs 감소율만큼 실질적인 속도 향상을 얻지 못하는 경우가 많다.35 FLOPs 상으로는 9배 효율적이지만, 실제 GPU에서의 실행 시간(latency)은 2~3배 향상에 그칠 수 있는 것이다.

6.4 한계 극복을 위한 연구 동향

이러한 DSC의 한계를 극복하기 위해 다양한 연구가 활발히 진행되고 있다.

  • 구조적 개선 (Fused-MBConv): EfficientNetV2에서는 네트워크의 초기 레이어에서 Depthwise Convolution과 뒤따르는 Pointwise Convolution을 하나의 표준 3 \times 3 컨볼루션으로 융합(fuse)한 Fused-MBConv 블록을 제안했다. 이는 연산 강도가 낮은 Depthwise 연산으로 인한 메모리 접근 오버헤드를 줄여, 실제 하드웨어에서의 학습 및 추론 속도를 향상시키는 효과를 가져왔다.30

  • 컴파일러 최적화 (Kernel Fusion): 하드웨어 수준에 더 가까운 접근법으로, 딥러닝 컴파일러 단에서 Depthwise와 Pointwise 연산 커널을 융합하는 연구가 진행 중이다. 이는 두 연산 사이의 중간 결과를 메인 메모리에 다시 쓰는 과정을 생략하고, 데이터를 캐시 내에서 최대한 재사용함으로써 메모리 전송량을 줄여 실질적인 지연 시간을 단축하는 것을 목표로 한다.35

  • 새로운 분리 방식 (BSConv): DSC의 근본적인 분리 방식 자체에 의문을 제기하는 연구도 있다. **BSConv (Blueprint Separable Convolutions)**는 컨볼루션 필터 커널 내부의 상관관계를 다르게 해석하여, 하나의 2D ‘청사진(blueprint)’ 커널을 깊이 축을 따라 가중치를 부여하여 분배하는 새로운 분리 방식을 제안했다. 이는 DSC보다 더 효율적인 분리가 가능하다고 주장한다.38

이러한 연구 동향은 딥러닝 모델 설계가 더 이상 추상적인 알고리즘의 영역에 머물러서는 안 되며, 타겟 하드웨어의 특성을 깊이 이해하고 그에 맞는 연산을 설계하는 알고리즘-하드웨어 공동 최적화(co-design)의 중요성이 점차 커지고 있음을 시사한다.

7. 결론: 딥러닝 아키텍처 설계의 패러다임 전환과 미래 전망

Depthwise Separable Convolution은 표준 컨볼루션의 내재적인 계산 비효율성 문제를 ’연산의 분리’라는 우아하고 혁신적인 아이디어로 해결했다. 이는 단순히 계산량을 줄이는 점진적인 개선을 넘어, 딥러닝 아키텍처 설계 철학에 근본적인 패러다임 전환을 가져왔다. DSC의 등장은 고성능 딥러닝 모델을 데이터 센터의 서버 팜에서 벗어나, 우리 손안의 모바일 기기와 수많은 임베디드 시스템으로 확산시키는 데 결정적인 기술적 토대를 마련했다.2

DSC의 영향력은 MobileNet, Xception, EfficientNet과 같은 기념비적인 아키텍처들의 탄생을 통해 명확히 드러난다. 이 모델들은 DSC를 각자의 철학에 맞게 변형하고 발전시키며, ’효율성’을 딥러닝 아키텍처를 평가하는 핵심 지표로 확고히 자리매김하게 했다. 이로 인해 모델 설계는 단일한 정확도 지표만을 추구하는 것에서 벗어나, 파라미터 수, FLOPs, 메모리 사용량, 그리고 실제 하드웨어에서의 지연 시간(latency) 등 다차원적인 목표를 동시에 고려하는 복합적인 최적화 문제로 발전하게 되었다.

물론 DSC는 표현력의 이론적 한계나 하드웨어에서의 연산 강도 문제와 같은 내재적 단점을 가지고 있다. 그러나 이러한 한계는 기술의 종말이 아닌, 새로운 연구와 혁신을 촉발하는 원동력이 되고 있다. Fused-MBConv, 커널 퓨전, BSConv와 같은 후속 연구들은 DSC의 단점을 보완하고 특정 환경에 더욱 최적화된 형태의 효율적인 컨볼루션 연산자를 개발하려는 지속적인 노력을 보여준다.

미래를 전망할 때, DSC가 제시한 ’효율적 인수분해’의 철학은 컨볼루션 연산을 넘어 다른 딥러닝 연산자 설계에도 깊은 영감을 줄 것이다. 어텐션 메커니즘이나 순환 신경망 등 다른 계산 집약적인 연산들 역시 더 효율적인 기본 단위로 분해하려는 시도가 계속될 것이다. 또한, DSC의 하드웨어 비효율성 문제는 알고리즘과 하드웨어의 경계가 허물어지는 ‘공동 설계(co-design)’ 시대의 도래를 가속화하고 있다. 미래의 딥러닝 아키텍처는 특정 하드웨어의 특성을 처음부터 고려하여 설계될 것이며, 하드웨어 역시 차세대 딥러닝 연산에 최적화된 형태로 진화할 것이다.

결론적으로, Depthwise Separable Convolution은 딥러닝의 민주화와 보편화를 이끈 핵심 기술 중 하나로 역사에 기록될 것이다. 이는 효율성과 성능 사이의 균형점을 찾는 현대 딥러닝 연구의 중요한 이정표이며, 앞으로 펼쳐질 더욱 지능적이고 효율적인 인공지능 시스템의 발전에 지속적인 영감을 제공할 것이다.

8. 참고 자료

  1. Depthwise Separable Convolution - velog, https://velog.io/@iissaacc/Depthwise-Separable-Convolution
  2. 모바일넷(MobileNet) - ITPE * JackerLab, https://itpe.jackerlab.com/entry/%EB%AA%A8%EB%B0%94%EC%9D%BC%EB%84%B7MobileNet
  3. Depthwise Separable Convolution - SAS Help Center, https://documentation.sas.com/doc/en/pgmsascdc/v_063/casdlpg/p10iw2fizb5r48n1ex2tjvlastgc.htm
  4. Depthwise Separable Convolutions in PyTorch :: Read. Hack. Learn …, https://www.paepper.com/blog/posts/depthwise-separable-convolutions-in-pytorch/
  5. Xception: Revolutionizing Deep Learning in Vision - Viso Suite, https://viso.ai/deep-learning/xception-model/
  6. [1706.03059] Depthwise Separable Convolutions for Neural Machine Translation - arXiv, https://arxiv.org/abs/1706.03059
  7. Depthwise Separable Convolution - SAS Help Center, https://documentation.sas.com/doc/en/casdlpg/latest/p10iw2fizb5r48n1ex2tjvlastgc.htm
  8. Depthwise Separable convolution이 기존의 convolution 보다 연산량이 적은 이유, https://pulsar-kkaturi.tistory.com/entry/Depthwise-Separable-convolution%EC%9D%B4-%EA%B8%B0%EC%A1%B4%EC%9D%98-convolution-%EB%B3%B4%EB%8B%A4-%EC%97%B0%EC%82%B0%EB%9F%89%EC%9D%B4-%EC%A0%81%EC%9D%80-%EC%9D%B4%EC%9C%A0
  9. Depth wise Separable Convolutional Neural Networks …, https://www.geeksforgeeks.org/machine-learning/depth-wise-separable-convolutional-neural-networks/
  10. Xception - Hugging Face, https://huggingface.co/docs/timm/models/xception
  11. [Deep Learning]Depthwise Separable Convolution :: EunChan’s Tech Blog, https://eunchankim-dev.tistory.com/46
  12. Depthwise separable convolution 연산 - gaussian37 - JINSOL KIM, https://gaussian37.github.io/dl-concept-dwsconv/
  13. Depth-wise Convolution and Depth-wise Separable Convolution | by …, https://medium.com/@zurister/depth-wise-convolution-and-depth-wise-separable-convolution-37346565d4ec
  14. [Deep Learning] 딥러닝에서 사용되는 다양한 Convolution 기법들, https://eehoeskrap.tistory.com/431
  15. Different types of Convolutions (Grouped convolution, depthwise convolution, pointwise convolution, depthwise separable convolution) - Deep Learning study, https://hichoe95.tistory.com/48
  16. Depthwise Separable Convolution | Ara Intelligence Blog, https://araintelligence.com/blogs/deep-learning/concepts/depthwise-separable-convolution/
  17. How to Optimize a Deep Learning Model for faster Inference? - Think Autonomous., https://www.thinkautonomous.ai/blog/deep-learning-optimization/
  18. Xception: Deep Learning With Depthwise … - CVF Open Access, https://openaccess.thecvf.com/content_cvpr_2017/papers/Chollet_Xception_Deep_Learning_CVPR_2017_paper.pdf
  19. Depthwise (Separable) Convolution의 설명 및 Pytorch 예시, https://sjkoding.tistory.com/75
  20. [Classification] Deep Learning with Depthwise Separable Convolutions : Xception 논문 리뷰, https://velog.io/@mink7878/classification-Xception-Deep-Learning-with-Depthwise-Separable-Convolutions
  21. [딥러닝 모델 경량화] 다양한 종류의 Convolution, https://sotudy.tistory.com/10
  22. Separable & Depthwise & Pointwise Convolution 원리 및 Pytorch 구현 - Attention please, https://smcho1201.tistory.com/59
  23. [AI 이론] Layer, 레이어의 종류와 역할, 그리고 그 이론 - 5 (DepthwiseConv, PointwiseConv, Depthwise Separable Conv) - 공대생의 차고 - 티스토리, https://underflow101.tistory.com/42
  24. Depth-wise seprable convolution - velog, https://velog.io/@ann9902/Depth-wise-seprable-convolution
  25. [1801.04381] MobileNetV2: Inverted Residuals and Linear Bottlenecks - ar5iv - arXiv, https://ar5iv.labs.arxiv.org/html/1801.04381
  26. Inverted Residuals and Linear Bottlenecks: Mobile Networks forClassification, Detection and Segmentation | Request PDF - ResearchGate, https://www.researchgate.net/publication/322517761_Inverted_Residuals_and_Linear_Bottlenecks_Mobile_Networks_forClassification_Detection_and_Segmentation
  27. MobileNetV2: Inverted Residuals and Linear Bottlenecks, https://arxiv.org/abs/1801.04381
  28. The MobileNeXt Architecture Explained — Rethinking The Inverted Residual Block Leads to Greater Accuracy. | by Nathan Bailey, https://nathanbaileyw.medium.com/the-mobilenext-architecture-explained-rethinking-the-inverted-residual-block-leads-to-greater-2d919227c89a
  29. EfficientNet: Rethinking Model Scaling for Convolutional … - arXiv, https://arxiv.org/pdf/1905.11946
  30. EfficientNetV2: Smaller Models and Faster Training - arXiv, https://arxiv.org/pdf/2104.00298
  31. depthwise separable convolution 설명 - AI바라기의 인공지능 - 티스토리, https://aiflower.tistory.com/6
  32. A One-Dimensional Depthwise Separable Convolutional Neural Network for Bearing Fault Diagnosis Implemented on FPGA - MDPI, https://www.mdpi.com/1424-8220/24/23/7831
  33. Why does a depth-wise separable convolution model like Keras Xception perform exceptionally well compared to GoogleNet Inception or any other TL models? - Quora, https://www.quora.com/Why-does-a-depth-wise-separable-convolution-model-like-Keras-Xception-perform-exceptionally-well-compared-to-GoogleNet-Inception-or-any-other-TL-models
  34. Depthwise Separable Convolution Neural Network for High-Speed SAR Ship Detection, https://www.mdpi.com/2072-4292/11/21/2483
  35. Accelerating Depthwise Separable Convolutions on Ultra-Low-Power Devices - arXiv, https://arxiv.org/html/2406.12478v1
  36. Making EfficientNet More Efficient: Exploring Batch-Independent Normalization, Group Convolutions and Reduced Resolution Trainin - arXiv, https://arxiv.org/pdf/2106.03640
  37. An improved EfficientNetV2 for garbage classification - arXiv, https://arxiv.org/html/2503.21208v1
  38. Rethinking Depthwise Separable Convolutions: How Intra-Kernel Correlations Lead to Improved MobileNets - CVF Open Access, https://openaccess.thecvf.com/content_CVPR_2020/papers/Haase_Rethinking_Depthwise_Separable_Convolutions_How_Intra-Kernel_Correlations_Lead_to_Improved_CVPR_2020_paper.pdf